/*
 * BonusBuilder.cpp
 *
 *  Created on: 16/06/2013
 *      Author: Juliansci
 */

#include "BonusBuilder.h"
#include "BonusBomba.h"
#include "BonusGolem.h"
#include "BonusHielo.h"
#include "BonusMagia.h"
#include "BonusLampara.h"
#include "BonusMapa.h"
#include "BonusVelocidad.h"
#include "BonusVida.h"
#include <math.h>
#include <time.h>
#include <stdlib.h>


Bonus* BonusBuilder::obtenerBonusNombre(string nombre) {
	if (nombre.compare("bonusVelocidad") == 0) {
		return new BonusVelocidad();
	} else if (nombre.compare("bonusVida") == 0) {
		return new BonusVida();
	} else if (nombre.compare("bonusMagia") == 0) {
		return new BonusMagia();
	} else if (nombre.compare("bonusLampara") == 0) {
		return new BonusLampara();
	} else if (nombre.compare("bonusBomba") == 0) {
		return new BonusBomba();
	} else if (nombre.compare("bonusGolem") == 0) {
		return new BonusGolem();
	} else if (nombre.compare("bonusHielo") == 0) {
		return new BonusHielo();
	} else if (nombre.compare("bonusMapa") == 0) {
		return new BonusMapa();
	}
	return NULL;
}

Bonus* BonusBuilder::obtenerBonusAzar() {
	vector<string> nombresBonus;
	nombresBonus.push_back("bonusVelocidad");
	nombresBonus.push_back("bonusVida");
	nombresBonus.push_back("bonusMagia");
	nombresBonus.push_back("bonusLampara");
	nombresBonus.push_back("bonusBomba");
	nombresBonus.push_back("bonusGolem");
	nombresBonus.push_back("bonusHielo");
	nombresBonus.push_back("bonusMapa");
	srand(time(NULL));
	int indiceRandom = rand()%nombresBonus.size();
	string bonusAzar = nombresBonus.at(indiceRandom);
	return this->obtenerBonusNombre(bonusAzar);
}
